m21fandomcom-20200214-history
Trixbox Customization
Trixbox customization Intro This page will (attempt to) explain all of the customization made to trixbox to get the reults that I wanted in deploying the intial system. [ What is trixbox and why are we using it? Trixbox is an automated version of Asterisk, the open-source PBX. The systems is being deployed in Sept, 2006 with version 1.1.1. [ DHCP The DHCP server is set up to give the phones all the info they need to log into the FTP server and get their configurations. We set it up like this: ddns-update-style interim; ignore client-updates; subnet 192.168.11.0 netmask 255.255.255.0 { option routers 192.168.11.1; option subnet-mask 255.255.255.0; option domain-name "m21.net"; option domain-name-servers 192.168.11.1; option time-offset -18000; # Eastern Standard Time option ntp-servers 192.168.11.1; option tftp-server-name "192.168.11.1"; range dynamic-bootp 192.168.11.210 192.168.11.254; default-lease-time 21600; max-lease-time 43200; Note that we are 192.168.11.1 so that everything is pointing to us. We have a couple of static addresses, for the polycom phone and the ATA for the outgoing fax: host aastra1 { hardware ethernet 00:08:5d:03:c7:87; fixed-address 192.168.11.201; } host ata1 { hardware ethernet 00:0e:08:bc:c4:f8; fixed-address 192.168.11.202; } Everything up to this point can be found in /etc//dhcpd.conf-master. This file is read in and added to for the actual /etc/dhcpd.conf through the asterisk-allocate-polycom script. In general the IP addresses given are 100 less then the extension numbers, so my extension, 227 is given the IP 192.168.11.127. Phones The phones chosen for this task are the Polycom IP601 phones. They are a very food business-grade phone, are highly configurable and have a built-in microbrowser. Much of the customization that will be discussed on this page is actually not for trixbox itself but to the phone configuration files. Aastra 480i CT configuration We have one of these phones. It is configured via tftp. The files go in the /tftpboot directory. There is little customization done to these files. There is a generic aastra.cfg and a MACADDR.cfg file, Here are the changes done to 00085D03C787.cfg sip line1 auth name: 228 sip line1 password: abc123 sip line1 user name: 228 sip line1 display name: 228 sip line1 screen name: Tech See the DHCP settings in the polycom section for general setup. The lines in the DHCP server that point to the TFTP server are the same as for the polycoms. Polycom IP601 configuration FTP user Polycom phones by default come able to log into the default FTP server (see the DHCP setup above, under tftp-server-name. They then will try to log in with the username and password of PlcmSpIp. This is done in exactly that mixed case so there must be an FTP server on the machine capable of handling mixed-case user names. The default FTP server for CentOS 4, vsftpd, handles this properly. Here is a copy of the xferlog for my phone booting with the timestamp and IPs removed. The total time from the first to the last was 1 min, 43 secs. 26280 /bootrom.ld b _ o r PlcmSpIp ftp 0 * i 216 /0004f204eeaf.cfg b _ o r PlcmSpIp ftp 0 * c 26280 /sip.ld b _ o r PlcmSpIp ftp 0 * i 8185 /x227/x227.cfg b _ o r PlcmSpIp ftp 0 * c 132846 /sip_m21.cfg b _ o r PlcmSpIp ftp 0 * c 86 /x227/0004f204eeaf-phone.cfg b _ o r PlcmSpIp ftp 0 * c 1054 /x227/0004f204eeaf-directory.xml b _ o r PlcmSpIp ftp 0 * c 3844 /x227/0004f204eeaf-app.log b _ i r PlcmSpIp ftp 0 * c 95926 /SoundPointIPWelcome.wav b _ o r PlcmSpIp ftp 0 * c /bootrom.ld is the bootstrap and is common to all of the Polycom phones. The next cfg files is the mac address of the phone. This, and all of the cfg files and directories are created by the /usr/local/bin/asterisk-allocate-polycom script, as with the dhcpd configuration above. This config file tells the phone to use the config file is the extension directory and the sip_broadbandcentric config file for general configuration. The rest of the .cfg files configure the phone. The xnnn.cfg are generally copies of the xxxx.cfg (literally called xxxx.cfg) in /home/PlcmSpIp. There is some substitution done, again this should be obvious in looking through the file. The unusual custom changes are documented below Extensions and rolling over incoming calls Deprecated - Be sure to set Call Waiting as available for that extension in the database. Current scripts do so. =Trixbox standard configurations= IVR Script Thank you for calling broadbandcentric.com – the world’s #1 cruise specialist. To speak with your Personal Cruise Consultant, you may dial their extension at any time. To book a new cruise, please press 1. For questions regarding a cruise reservation made through our website, please press 2. For the company operator, please press 0. For the company directory, please press #. Remember - broadbandcentric, before you cruise. [ Settings The script is named "Main Menu".Directory is enabled in the default context and direct-dial is enabled. The announcement (see "script" above) is entitled "IVR-Main". There are 3 options. 0 goes to core extension 241, 1 goes to Queue 801 (SalesQueue) and 2 goes to queue 802 (CustomerServiceQueue). Queues All queues use the "leastrecent" ring strategy and have Caller Announcements set to give position and hold time every 2 minutes. JoinEmpty is No and LeaveWhenEmpty is yes. Queue 801: SalesQueue General sales go to queue 801. It is set to ring a random extension each time. Queue 802: CustomerServiceQueue Customer Service calls go to queue 802. It rings all phones logged into the queue. Incoming Routes While there are incoming routes set up for each DID, they all do the same thing: Drop the caller into the IVR Main Menu. Outbound routes All calls are routed through the Optimum lines to ispbx.com. This will change on 5/25/2007 when the new T-1 is turned up. Ring Groups There are 3 ring groups set up: Sales (701), Customer Service (702) and Tech (703). All are ringall groups for the departments. They are not actually used at this time. I set them up for testing and legacy purposes. =Taking a phone external= Change the SIP Server address on the phone to the external address of the asterisk box. To do this: Menu 3 (Settings...) 2 (Advanced...) 456 Enter (The password) 1 (Admin settings) 2 (SIP Configuration...) Select (Server) Change the address to the external address of the asterisk box (remember to change to numeric input) Press the Exit softkey 6 times Allow NAT on the extensions Go to the setup for the extensions. Change NAT from NEVER to YES. Changing Can-Reinvite to yes can help in some situations. Allow external in the database Set the extension in the database to allow for external. This is currently manual. Run the allocation script /usr/local/bin/asterisk-allocate-polycom Set external before powering up Asvise the user that the entry on the queues page must be set to external before the phone starts to boot in order for it to receive the proper scripts.